home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MacWorld 1999 January - Disc 2
/
Macworld (1999-01) (Disk 2).dmg
/
Serious Demos
/
Symbolic Composer 4.2
/
Environment
/
System
/
CADAR
/
Symbols
/
Random
/
random-invert
< prev
next >
Wrap
Lisp/Scheme
|
1998-10-22
|
1KB
|
38 lines
random-invert lst no-fx-lst fx-lst
&key (type 'rnd) (func 'rnd)
legal calls:
type 'rnd 'norm
func 'rnd 'inv 'ret 'ret-inv
takes list of symbols and applies retrograde,
inversion or retrograde-inversion either
one function at the time or selects randomly
among functions.
no-fx-lst is a list of integers not to apply any
function and fx-lst applies function.
with type 'norm follows fx-lists exactly
with type 'rnd randomly varies fx-list with maximum
fx-list and minimum 1.
(setq melo '(a b c d e f g h i j k l m))
so here it dont applies any function for the two first
symbols the applies function on next four symbols
then again no function for the next three symbols and
function on next one symbol which will repeat if symbol-list
is longer.
(random-invert melo '(2 3) '(4 1) :type 'rnd :func 'rnd)
-->(A -D -C -B E F G -H I J -K -L -M)
-->(A B -F -E -D -C G H I J K M L) . . .
(random-invert melo '(2 3) '(4 1) :type 'norm :func 'ret)
-->(A B F E D C G H I J K L M)
(random-invert melo '(2 3) '(4 1) :type 'norm :func 'inv)
-->(A B -C -D -E -F G H I -J K L -M)
(random-invert melo '(2 3) '(4 1) :type 'norm :func 'ret-inv)
-->(A B -F -E -D -C G H I -J K L -M)